﻿<?php 
class Model_Tools
{
/*
     方法功能：删除目录
     方法名称：delDir
     @parame:  $dir-要删除的目录名称
     retrun:   true-删除成功;false-删除失败
    */
    function delDir($dir){
        //判断目录是否为空
        if($this->isEmptyDir($dir))
        {
            //目录为空，直接删除
            $fg = rmdir($dir);
            if($fg)
            {
                return true;
            }
            else
            {
                return false;
            }
        }
        else
        {
            //读取这个目录的下一级
            $d = dir($dir);
            while($a = $d->read())
            {
                //是文件则直接删除
                if(is_file($dir.'/'.$a) && ($a != ".") && ($a != ".."))
                {
                    unlink($dir.'/'.$a);
                }
                //是目录
                if(is_dir($dir.'/'.$a) && ($a != ".") && ($a != ".."))
                {
                    //是目录且不为空
                    if(!$this->isEmptyDir($dir.'/'.$a))
                    {
                        $this->delDir($dir.'/'.$a);
                    }
                    //是目录且为空
                    if($this->isEmptyDir($dir.'/'.$a))
                    {
                        rmdir($dir.'/'.$a);
                    }
                }
            }
            $d->close();
        }
		$this->delDir($dir);
    }
    /*
    方法功能：判断目录是否为空
    方法名称：isEmptyDir()
    @parame:  $dir-要判断的目录
    return:   ture-为空;false-不为空
    */
    function isEmptyDir($dir){
        $d = opendir($dir);
        $i = 0;
        while($a = readdir($d))
        {
            $i++;
        }
        closedir($d);
        if($i > 2)
        {
            return false;
        }
        else
        {
            return true;
        }
    }

}